package Util;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;

import static javax.accessibility.AccessibleRole.ICON;

public class NewStartMpr extends JFrame {


    //声明一个面板对象
    private JPanel jp;
    //声明两个按钮
    private JButton nextStep, lastStep;
    private int indexFiles = 0; //计数器，计算点击次数 从下标1开始
    private boolean state = false;

    public NewStartMpr() {
        super("MprStart快捷启动");

        //实例化面板对象
        jp = new JPanel(new FlowLayout(FlowLayout.CENTER));

        JLabel name = new JLabel("路径:");
        //创建 输入框 JTextField，16表示16列，用于JTextField的宽度显示而不是限制字符个数
        JTextField inputText = new JTextField(15);
        jp.add(name);
        jp.add(inputText);
        //实例化两个按钮对象

        JPanel jp02 = new JPanel(new FlowLayout(FlowLayout.CENTER));

//        nextStep = new JButton("下一步");
//        lastStep = new JButton("上一步");
        nextStep = new JButton("下一步");
        lastStep = new JButton("上一步");
        jp02.add(lastStep);
        jp02.add(nextStep);

        jp.add(jp02);

        //将面板添加至窗体中
        this.add(jp);
        //设置窗口大小
        this.setSize(270, 100);
        //设置窗口左上角坐标
        this.setLocation(800, 300);
        //设置窗口关闭方式
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //设置窗口可见
        this.setVisible(true);
        //设置窗口固定大小
        this.setResizable(false);
        //将窗口置顶
        this.setAlwaysOnTop(true);

        //----按钮操作
        //下一步
        nextStep.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //获取输入内容
                String str = inputText.getText();
                if (str.equals("")) {
                    JOptionPane.showMessageDialog(null, "请先输入存储MPR的路径！", "错误提示", JOptionPane.ERROR_MESSAGE);
                } else {
                    File file = new File(str);
                    if (!file.exists()) {
                        JOptionPane.showMessageDialog(null, "文件路径不存在,或者路径有误！", "错误提示", JOptionPane.ERROR_MESSAGE);
                    }
                    File[] files = file.listFiles();

                    if (indexFiles + 1 > files.length) {
                        JOptionPane.showMessageDialog(null, "您已经没有文件可以打开了", "标题", JOptionPane.WARNING_MESSAGE);
                    } else {
//                        System.out.println("11-"+indexFiles);
                        indexFiles++;
                        try {
                            Desktop.getDesktop().open(files[indexFiles - 1]);
//                            System.err.println(indexFiles-1);
                        } catch (IOException ioException) {
                            ioException.printStackTrace();
                        }
                    }
                }

            }
        });
        //上一步
        lastStep.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //获取输入内容
                String str = inputText.getText();
                if (indexFiles > 0) {
                    if (str.equals("")) {
                        JOptionPane.showMessageDialog(null, "路径不能为空！！！", "标题", JOptionPane.WARNING_MESSAGE);
                    } else {
                        File file = new File(str);
                        if (!file.exists()) {
                            JOptionPane.showMessageDialog(null, "文件不存在,或者路径有误！", "标题", JOptionPane.WARNING_MESSAGE);
                        }
                        File[] files = file.listFiles();
                        try {
                            if (indexFiles == 1) {
                                JOptionPane.showMessageDialog(null, "现在已经是第一个文件了", "标题", JOptionPane.WARNING_MESSAGE);
                            } else {
                                //根据判断条件判断完之后 ，进减1操作
//                                System.out.println("BBB"+indexFiles);
                                indexFiles--;
                                Desktop.getDesktop().open(files[indexFiles - 1]);
                            }
                        } catch (IOException ioException) {
                            ioException.printStackTrace();
                        }
                    }
                } else {
                    JOptionPane.showMessageDialog(null, "当前暂无打开的文件!请勿重复错误的操作!!!", "错误提示", JOptionPane.ERROR_MESSAGE);
                }

            }
        });
    }

    public static void main(String[] args) {
        new NewStartMpr();
    }
}
